package cn.gov.anhai.mappers;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 用户
 */
public interface UserMapper {

    /**
     * 根据手机查询
     */
    Map<String, Object> infoByPhone(String phone);

    Map<String, Object> infoByHuaWei(String huawei0penId);

    /**
     * 根据微信OpenID查询
     */
    Map<String, Object> infoByWXOpenId(String openId);

    /**
     * 根据UserID查询
     */
    Map<String, Object> infoById(Long userId);

    /**
     * 微信注册用户
     */
    Integer addByWeiXin(Long id, String wechat_open_id, String user_name, Long avatar, String phone);


    Integer addByHuaWei(Long id, String huawei_open_id, String user_name, String avatarUrl);

    /**
     * 手机号和密码注册用户
     */
    Integer addByPhoneAndPassword(Long id, String user_name, Long avatar, String phone,String password);

    /**
     * 获得点赞/收藏次数（sum=总|today=今日）
     *
     * @param uid  用户编号
     * @param type 类别（1点赞 2收藏 3景点收藏）
     * @param date 日期（yyyy-MM-dd）
     * @return
     */
    Map<String, Object> getCount(Long uid, Integer type, String date);

    /**
     * 修改昵称
     */
    Integer updateName(Long uid, String user_name);

    /**
     * 修改头像
     */
    Integer updateAvatar(Long uid, Long avatar);

    /**
     * 修改密码
     */
    Integer updatePassword(Long uid, String password);

    /**
     * 修改时间
     */
    Integer updateLoginTime(Long uid);

    /**
     * 查询获得（点赞/收藏）动态列表
     *
     * @param userId 我的编号
     * @param type   类别（1点赞 2收藏 3景点收藏）
     */
    List<Map<String, Object>> dynamicList(Integer offset, Integer rows, Long userId, Integer type);

    /**
     * 查询获得（点赞/收藏）动态列表（个数）
     *
     * @param userId 我的编号
     * @param type   类别（1点赞 2收藏 3景点收藏）
     */
    Integer dynamicListCount(Long userId, Integer type);
}
